1. Field of the Invention
The present invention relates to a robot and a method for controlling a motor speed of the robot, and more particularly, to a robot and a method for controlling a motor speed of the robot, so as to operate a robot having an arm thereof.
2. Description of the Related Art
Generally, an industrial robot is comprised of a body for centrally supporting the robot, a manipulator including an arm moving an end effector of the robot into which a tool required for an assigned work is inserted to a specified position of a working area, a controller for controlling the manipulator, and a power supply source supplying electric power to them. A servomotor is mounted on each arm of the manipulator, and the controller controls the servomotors, thereby allowing the assigned work to be performed.
Typically, the controller is comprised of a main controller, a position controller and a servo driver for driving the servomotor.
The main controller generates a speed command profile based on a user""s motion command such as a present position and a target position inputted by the user, etc. and transmits it to the position controller.
The position controller controls the servo driver based on the received speed command profile to drive the servo motor so as to move the arm from a position to a different position, and on the other hand, feedback-controls the position of the arm based on the present position inputted from an encoder, etc. mounted on the servo motor.
Referring to FIG. 7 which is a flow chart for generating a conventional speed command profile, a conventional robot first makes preparations for controlling an operation thereof (P10). When the preparation for the operation control is completed, a speed profile of a motor is generated (P20). If the motor speed profile is generated, the speed profile is transmitted to acceleration/deceleration command transmitter part (P30). If the speed profile is transmitted to the command transmitter part, the command transmitter part determines whether the arm connected to a rotation shaft of the motor arrives at the target position (P40). If it is determined that the arm reaches the target position, the command transmitter part terminates the operation of the motor (P50).
Hereinbelow, a related art will be described with reference to FIG. 8 which is a graph of a motor speed profile and a speed profile of an arm in uniform speed range according to the conventional art.
With respect to a conventional robot having a multi-articulated arm part, a track generating method by a point-to-point operation is used to generate the track. Where the multi-articulated arm part is driven by this track generating method, the motor speed is maintained constantly, and therefore, the motion speed of the arm part is not uniform, thereby generating a graph IV in which the speed varies.
Like this, since the arm part is not constant in speed and its acceleration and deceleration are repeated, the operation of the arm part does not remain constant in speed, thereby being likely to make a workpiece seated on the arm part slipped. To prevent the workpiece from being slipped, there has been used a method of generating a track by extending the acceleration time and the deceleration time of the arm part. However, since the operation speed of the motor is conspicuously reduced, the motion time required for traveling the workpiece is prolonged.
Accordingly, the present invention has been made keeping in mind the above-described shortcoming, and an object of the present invention is to provide a robot and a method of controlling a motor speed of the robot, to prevent slipping of the workpiece during motion and improve the motion speed of the arm part.
This and other objects of the present invention may be accomplished by a provision of a method of controlling a robot including a motor having a rotation shaft, an arm part having one end connected to the rotation shaft and interlocking with a rotation of the motor, a position controller controlling the motor, and a main controller generating a speed command profile for controlling the motor, based on the inputted motion command of the arm part and transmitting the profile to the position controller, comprising a step of generating the speed command profile controlling a speed of the motor so as to allow the arm part to have an acceleration profile in uniform speed.
Preferably, the arm part is comprised of a drive arm having one end connected to the rotation shaft of the motor and the other end provided with a drive shaft thereon, and an interlock arm interlocked with a motion of the drive arm, and the step of generating the speed command profile of the motor further comprises the sub-step of preparing for the motion control which converts the change angle formed by the drive arm and the interlock arm into a value at rectangular coordinate system, using Equation (1),
P0={square root over (2*L*L(1xe2x88x92Cos(2*D0))}*Sin(D0)
P1={square root over (2*L*L(1xe2x88x92Cos(2*D1))}*Sin(D1),xe2x80x83xe2x80x83(1)
where D0 is an initial angle of the arm part, D1 is a target angle of the arm part, P0 is a value at an initial rectangular coordinate system of the arm part according to the initial angle of the arm part, and P1 is a value at rectangular coordinate system according to the target angle of the arm part.
Effectively, the motion control preparation step is further comprised of the sub-step of obtaining a traveling distance (xcex94P) of the arm part by a difference (P1xe2x88x92P0) between the value at the initial rectangular coordinate system and the value at the rectangular coordinate system according to the target angle of the arm part.
Preferably, the motion control preparation step is further comprised of the sub-steps of establishing a motion speed of the arm part by the user when the traveling distance of the arm part is obtained, and obtaining the motion time of the arm part based on the established motion speed and the traveling distance of the arm part.
Still preferably, the change angle of the arm part is again obtained according to Equation (3) where P0 is less than {square root over (2)}*L if the motion time is obtained.
Dout=(2*L*Lxe2x88x92P0*P0)/2*L*Lxe2x80x83xe2x80x83(3)
According to another aspect of the present invention, this and other objects may also be accomplished by the provision of a robot including a motor having a rotation shaft, an arm part having one end connected to the rotation shaft and interlocking with a rotation of the motor, a position controller controlling the motor, comprising a main controller generating a speed command profile for controlling the motor, based on the inputted motion command of the arm part so as to allow the arm part to have an acceleration profile in uniform speed and transmitting the profile to the position controller.